print('Привет, Мир!'). С этого момента вы с ними работали почти в каждом уроке и практическом задании. Но для осознанной работы стоит заглянуть поглубже и посмотреть на строки с точки зрения Python.txt = 'Я строка, во мне есть смысл, а Python видит во мне лишь набор символов.'
txt = "Я тоже строка! Но для Python я просто последовательность. Печаль." error_string = 'Сопряжение с устройством "трекер Unicorn" прервано.'
# Если вложенные кавычки не отличаются от обрамляющих -
# строка превратится в несколько отдельных строк и возникнет ошибка.
# Даже подсветка кода это показывает:
error_string = 'Сопряжение с устройством 'трекер Unicorn' прервано.'
# А кавычки-«ёлочки» Python воспринимает как обычный текстовый символ:
# в строке их можно применять как угодно, но обрамлять ими строку нельзя
status_string = 'Состояние пользователя: «Спит на устройстве ввода!»' alert_string = 'Потребление калорий превысило расход на 300%! Уберите бургер в холодильник!' alert_string надо перенести.alert_string = 'Потребление калорий превысило расход калорий на 300%!
Уберите бургер в холодильник!'
# Нет, так не сработает: Python сообщит об ошибке:
# SyntaxError: EOL while scanning string literal str) в коде делается так: alert_string = ('Потребление калорий превысило расход калорий на 300%! '
'Уберите бургер в холодильник!') \, не стоит применять такой способ на практике: это устаревший синтаксис.оutput_string = '''Количество шагов за день 18500
Пройденная дистанция 12 км.
Отличный результат!'''
print(оutput_string)
# Вывод в терминал:
# Количество шагов за день 18500
# Пройденная дистанция 12 км.
# Отличный результат! monday_steps = 12000 # Это число
tuesday_steps = 9000 # Это число
# Сложение будет проведено по правилам арифметики
print(monday_steps + tuesday_steps)
# Вывод в терминал: 21000
# Функция str() преобразует переданное ей значение в строку (если такое возможно)
monday_steps_str = str(monday_steps) # В monday_steps_str передана строка '12000'
tuesday_steps_str = str(tuesday_steps) # В tuesday_steps_str передана строка '9000'
# Сложение пойдёт по иным правилам: последовательности символов просто "склеятся"
print(monday_steps_str + tuesday_steps_str)
# Вывод в терминал: 120009000
# Это уже не арифметика, а конкатенация какая-то! monday_steps_str и tuesday_steps_str хранятся не числа, а строки из цифр.status_string = 'ВСЁ ИДЁТ ПО ПЛАНУ'
# Если всё по плану - можно написать в нижнем регистре:
print(status_string.lower())
# Вывод в терминал: всё идёт по плану
alarm_string = 'всё сломалось, проект не работает!'
# А вот тут немного паники не повредит: переводим текст сообщения в верхний регистр
print(alarm_string.upper())
# Вывод в терминал: ВСЁ СЛОМАЛОСЬ, ПРОЕКТ НЕ РАБОТАЕТ! distance_string = 'сегодня ВЫ прошли 12 КМ'
print(distance_string.capitalize())
# Вывод в терминал: Сегодня вы прошли 12 км
user_name_string = 'пользователь антон'
print(user_name_string.title())
# Вывод в терминал: Пользователь Антон
inverted_string = 'ПрОйДеНо ШаГоВ зА ДеНь: 18500'
print(inverted_string.swapcase())
# Вывод в терминал: пРоЙдЕнО шАгОв За дЕнЬ: 18500 spent_calories = 'Сегодня вы сожгли 500 калорий'
print(spent_calories.find('500'))
# Вывод в терминал: 18 src на подстроку new.cat_motto = 'Котики важны. Котики улучшают эмоциональное здоровье.'
fitness_motto = cat_motto.replace('Котики', 'Тренировки')
print(fitness_motto)
# Вывод в терминал: Тренировки важны. Тренировки улучшают эмоциональное здоровье.
# Третьим параметром можно указать количество заменяемых подстрок
fitness_motto = cat_motto.replace('Котики', 'Тренировки', 1)
print(fitness_motto)
# Вывод в терминал: Тренировки важны. Котики улучшают эмоциональное здоровье. error_message = 'ER03:"Ошибка подключения устройства! Доступ блокирован!"'
text = error_message.strip('"E3!0R:')
print(text)
# Вывод в терминал: Ошибка подключения устройства! Доступ блокирован
# Символы ER03 в начале строки удалены, хотя были переданы в strip() в другом порядке.
# Двойная кавычка удалена в начале и в конце строки.
# Восклицательный знак в конце строки удалён, но в середине - сохранился. workout = 'Бег; Подтягивания; Отжимания; Приседания; Полежать'
# Разбиваем строку, не указав аргумент для split()
print(workout.split())
# Вывод в терминал: ['Бег;', 'Подтягивания;', 'Отжимания;', 'Приседания;', 'Полежать'] workout = 'Бег; Подтягивания; Отжимания; Приседания; Полежать'
# Разделитель - точка с запятой
print(workout.split(';'))
# Вывод в терминал: ['Бег', ' Подтягивания', ' Отжимания', ' Приседания', ' Полежать']
# Разделитель не обязательно должен состоять из одного символа:
print(workout.split('ан'))
# Вывод в терминал: ['Бег; Подтягив', 'ия; Отжим', 'ия; Присед', 'ия; Полежать'] split()). Обратите внимание на синтаксис, он совсем иной: строка-разделитель указывается перед названием метода.workout = ['Бег', 'Подтягивания', 'Отжимания', 'Приседания', 'Полежать']
print('; '.join(workout)) # Разделителем будет точка с запятой и пробел
# После последнего фрагмента разделитель не ставится.
# Вывод в терминал: Бег; Подтягивания; Отжимания; Приседания; Полежать steps = 10564
print('Вы прошли за день {} шага.'.format(steps))
# Вывод в терминал: Вы прошли за день 10564 шага. format(), может быть любого типа.format():zero_txt = 'чувствую'
first_txt = 'в тебе'
second_txt = 'силу'
print('{0} {1} {2}'.format(zero_txt, first_txt, second_txt))
# Вывод в терминал: чувствую в тебе силу
print('{2} {0} {1}'.format(zero_txt, first_txt, second_txt))
# Вывод в терминал: силу чувствую в тебе float можно выводить «как есть», а можно преобразовывать средствами метода format() — например, округлять до нужного предела или переводить в проценты. # Вывести число dist_km как есть:
dist_km = 0.53908
print('Вы прошли за день {} км'.format(dist_km))
# Вывод в терминал: Вы прошли за день 0.53908 км
# Вывести число, округлённое до сотых (два символа после десятичного разделителя: 2f)
print('Вы прошли за день {:.2f} км'.format(dist_km))
# Вывод в терминал: Вы прошли за день 0.54 км
achievement_part= 0.6575649
# Преобразовать выводимое число в проценты
# и округлить до двух знаков после запятой
print('Прогресс достижения цели: {:.2%}'.format(achievement_part))
# Вывод в терминал: Прогресс достижения цели: 65.76% format(). f-строки задаются с помощью литерала f перед кавычками, обрамляющими строку:distance = 10.564
fstring = f'За день вы прошли {distance} км'
print(fstring)
# Вывод в терминал: За день вы прошли 10.564 км format(). Достаточно вставить имя переменной в фигурных скобках в f-строку — и на это место подставится значение этой переменной. Никаких аргументов передавать не нужно. Прямая экономия!dist_km = 0.539
print(f'За день вы прошли {dist_km:.2f} км')
# Вывод в терминал: За день вы прошли 0.54 км
achievement_part = 0.657589
# Переобразовать выводимое число в проценты,
# округлив до второго знака после запятой
print(f'Прогресс достижения цели: {achievement_part:.2%}')
# Вывод в терминал: Прогресс достижения цели: 65.76%
# Посчитаем:
steps = 8463 # Количество пройденных шагов
len_step_m = 0.65 # Длина одного шага в метрах
transfer_coeff = 1000 # Метров в километре
print(f'За день вы прошли {steps * len_step_m / transfer_coeff:.2f} км')
# Вывод в терминал: За день вы прошли 5.50 км upper() для переданной переменной типа строка:name = 'Антон'
print(f'Данные пользователя {name.upper()} загружены.')
# Вывод в терминал: Данные пользователя АНТОН загружены.